package org.jaaksi.test.layoutanimation;

import android.app.Activity;
import android.os.Bundle;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.view.animation.LayoutAnimationController;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.List;

/**
 * ListView、GridView使用 LayoutAnimation, 只有第一次可见的item才有动画效果
 */
public class MyActivity extends Activity
{
	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		ListView listView = (ListView) findViewById(R.id.list_view);

		List<String> list = new ArrayList<>();
		for (int i = 0; i < 100; i++)
		{
			list.add(String.format("第%d条数据", i));
		}
		ArrayAdapter adapter = new ArrayAdapter<String>(this,
		        android.R.layout.simple_list_item_1, list);

		listView.setAdapter(adapter);


		//=============== 在代码中 ===============
//		// 通过加载XML动画设置文件来创建一个Animation对象；
//		Animation animation = AnimationUtils.loadAnimation(this,
//		        R.anim.slide_right);
//		// 得到一个LayoutAnimationController对象；
//		LayoutAnimationController lac = new LayoutAnimationController(
//		        animation);
//		// 设置控件显示的顺序；
//		lac.setOrder(LayoutAnimationController.ORDER_NORMAL);
//		// 设置控件显示间隔时间；
//		lac.setDelay(0.5f);
//		// 为ListView设置LayoutAnimationController属性；
//		listView.setLayoutAnimation(lac);
	}
}
